package com.xmy.erp.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 员工
 * </p>
 *
 * @author hpiggy
 * @since 2023-09-09
 */
@ApiModel(value = "Staff对象", description = "员工")
public class Staff implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("所属校区")
    private Long schoolId;

    @ApiModelProperty("姓名")
    private String name;

    @ApiModelProperty("头像")
    private String headImg;

    @ApiModelProperty("手机号")
    private String phone;

    @ApiModelProperty("性别：1男，2女，3未知")
    private Integer sex;

    @ApiModelProperty("0未知，1在职，2离职")
    private Integer status;

    @ApiModelProperty("上课校区范围：1全部校区，2指定校区")
    private Integer scopeClassMode;

    @ApiModelProperty("是否教师，0否，1是")
    private Integer isTeacher;

    @ApiModelProperty("对应字典表num")
    private Integer courseInId;

    @ApiModelProperty("多少个课时，如三个课时")
    private Integer courseInCount;

    @ApiModelProperty("多少钱：如三个课时对应的300元")
    private BigDecimal courseInMoney;

    @ApiModelProperty("身份证")
    private String cardId;

    @ApiModelProperty("生日")
    private String birthday;

    @ApiModelProperty("英文名")
    private String enName;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("籍贯")
    private String nativePlace;

    @ApiModelProperty("民族")
    private String nation;

    @ApiModelProperty("政治（对应字典表）")
    private Integer politics;

    @ApiModelProperty("婚姻（对应字典表）")
    private Integer marriage;

    @ApiModelProperty("专业")
    private String major;

    @ApiModelProperty("培训经历")
    private String training;

    @ApiModelProperty("其它")
    private String other;

    @ApiModelProperty("标记")
    private String sign;

    @ApiModelProperty("合同开始时间")
    private String contractStart;

    @ApiModelProperty("合同结束时间")
    private String contractEnd;

    @ApiModelProperty("是否签劳动合同")
    private Integer laborContract;

    @ApiModelProperty("劳动关系（对应字典表）")
    private Integer laborRelation;

    @ApiModelProperty("转正日期")
    private String justDate;

    @ApiModelProperty("工资卡号")
    private String cardCode;

    @ApiModelProperty("工资卡开户行")
    private String cardBank;

    @ApiModelProperty("社保（对应字典表）")
    private Integer social;

    @ApiModelProperty("登录账号:0为未绑定")
    private Long adminId;

    @ApiModelProperty("入职日期")
    private LocalDate entryDate;

    @ApiModelProperty("离职日期")
    private LocalDate leaveDate;

    @ApiModelProperty("创建人id")
    private Long createdId;

    private Integer deleted;

    @ApiModelProperty("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty("deleted_at")
    private LocalDateTime deletedAt;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public String getHeadImg() {
        return headImg;
    }

    public void setHeadImg(String headImg) {
        this.headImg = headImg;
    }
    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    public Integer getScopeClassMode() {
        return scopeClassMode;
    }

    public void setScopeClassMode(Integer scopeClassMode) {
        this.scopeClassMode = scopeClassMode;
    }
    public Integer getIsTeacher() {
        return isTeacher;
    }

    public void setIsTeacher(Integer isTeacher) {
        this.isTeacher = isTeacher;
    }
    public Integer getCourseInId() {
        return courseInId;
    }

    public void setCourseInId(Integer courseInId) {
        this.courseInId = courseInId;
    }
    public Integer getCourseInCount() {
        return courseInCount;
    }

    public void setCourseInCount(Integer courseInCount) {
        this.courseInCount = courseInCount;
    }
    public BigDecimal getCourseInMoney() {
        return courseInMoney;
    }

    public void setCourseInMoney(BigDecimal courseInMoney) {
        this.courseInMoney = courseInMoney;
    }
    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }
    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    public String getEnName() {
        return enName;
    }

    public void setEnName(String enName) {
        this.enName = enName;
    }
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }
    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }
    public Integer getPolitics() {
        return politics;
    }

    public void setPolitics(Integer politics) {
        this.politics = politics;
    }
    public Integer getMarriage() {
        return marriage;
    }

    public void setMarriage(Integer marriage) {
        this.marriage = marriage;
    }
    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }
    public String getTraining() {
        return training;
    }

    public void setTraining(String training) {
        this.training = training;
    }
    public String getOther() {
        return other;
    }

    public void setOther(String other) {
        this.other = other;
    }
    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }
    public String getContractStart() {
        return contractStart;
    }

    public void setContractStart(String contractStart) {
        this.contractStart = contractStart;
    }
    public String getContractEnd() {
        return contractEnd;
    }

    public void setContractEnd(String contractEnd) {
        this.contractEnd = contractEnd;
    }
    public Integer getLaborContract() {
        return laborContract;
    }

    public void setLaborContract(Integer laborContract) {
        this.laborContract = laborContract;
    }
    public Integer getLaborRelation() {
        return laborRelation;
    }

    public void setLaborRelation(Integer laborRelation) {
        this.laborRelation = laborRelation;
    }
    public String getJustDate() {
        return justDate;
    }

    public void setJustDate(String justDate) {
        this.justDate = justDate;
    }
    public String getCardCode() {
        return cardCode;
    }

    public void setCardCode(String cardCode) {
        this.cardCode = cardCode;
    }
    public String getCardBank() {
        return cardBank;
    }

    public void setCardBank(String cardBank) {
        this.cardBank = cardBank;
    }
    public Integer getSocial() {
        return social;
    }

    public void setSocial(Integer social) {
        this.social = social;
    }
    public Long getAdminId() {
        return adminId;
    }

    public void setAdminId(Long adminId) {
        this.adminId = adminId;
    }
    public LocalDate getEntryDate() {
        return entryDate;
    }

    public void setEntryDate(LocalDate entryDate) {
        this.entryDate = entryDate;
    }
    public LocalDate getLeaveDate() {
        return leaveDate;
    }

    public void setLeaveDate(LocalDate leaveDate) {
        this.leaveDate = leaveDate;
    }
    public Long getCreatedId() {
        return createdId;
    }

    public void setCreatedId(Long createdId) {
        this.createdId = createdId;
    }
    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }
    public LocalDateTime getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(LocalDateTime deletedAt) {
        this.deletedAt = deletedAt;
    }

    @Override
    public String toString() {
        return "Staff{" +
            "id=" + id +
            ", schoolId=" + schoolId +
            ", name=" + name +
            ", headImg=" + headImg +
            ", phone=" + phone +
            ", sex=" + sex +
            ", status=" + status +
            ", scopeClassMode=" + scopeClassMode +
            ", isTeacher=" + isTeacher +
            ", courseInId=" + courseInId +
            ", courseInCount=" + courseInCount +
            ", courseInMoney=" + courseInMoney +
            ", cardId=" + cardId +
            ", birthday=" + birthday +
            ", enName=" + enName +
            ", email=" + email +
            ", nativePlace=" + nativePlace +
            ", nation=" + nation +
            ", politics=" + politics +
            ", marriage=" + marriage +
            ", major=" + major +
            ", training=" + training +
            ", other=" + other +
            ", sign=" + sign +
            ", contractStart=" + contractStart +
            ", contractEnd=" + contractEnd +
            ", laborContract=" + laborContract +
            ", laborRelation=" + laborRelation +
            ", justDate=" + justDate +
            ", cardCode=" + cardCode +
            ", cardBank=" + cardBank +
            ", social=" + social +
            ", adminId=" + adminId +
            ", entryDate=" + entryDate +
            ", leaveDate=" + leaveDate +
            ", createdId=" + createdId +
            ", deleted=" + deleted +
            ", createdAt=" + createdAt +
            ", updatedAt=" + updatedAt +
            ", deletedAt=" + deletedAt +
        "}";
    }
}
